// 枚举 { Enum }
// 1. 给一组数据分别取上让更好理解的名字
// 2. 一个枚举中只会存在固定范围的值
// 3. 注意点：枚举类型会入侵到运行时的代码，会影响编译后的结果

export {}
// 一般情况下
// const PostStatus = {
//   Draft: 0,
//   Unpublished: 1,
//   published: 2
// }

// enum PostStatus {
//   Draft = 0,
//   Unpublished = 1,
//   published = 2
// }
// 枚举类型的值可以不用等号的方式赋值，默认为0，如果第一个值默认为6，后面的值就从6开始累加
enum PostStatus {
  Draft = 6,
  Unpublished,
  published
}
// 字符串枚举，需要给每个成员初始化赋值
enum PostStatus1 {
  Draft = 'aaa',
  Unpublished = 'bbb',
  published = 'ccc'
}
// 常量枚举
const enum PostStatus2 {
  Draft = 'aaa',
  Unpublished = 'bbb',
  published = 'ccc'
}

const post = {
  title: 'hello typescript',
  status: PostStatus.Draft
}